package com.ktgj.train.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 退票记录对象 train_order_refundrecord
 * 
 * @author ruoyi
 * @date 2021-11-29
 */
public class TrainOrderRefundrecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键编号 */
    private Long recordid;

    /** 主订单编号 */
    @Excel(name = "主订单编号")
    private Long orderid;

    /** 子订单编号 */
    @Excel(name = "子订单编号")
    private Long orderitemid;

    /** 退票金额 */
    @Excel(name = "退票金额")
    private BigDecimal refundamount;

    /** 退票原因 */
    @Excel(name = "退票原因")
    private Long refundreason;

    /** 乘客姓名 */
    @Excel(name = "乘客姓名")
    private String name;

    /** 备注 */
    @Excel(name = "备注")
    private String memo;

    /** 状态 1处理中 2退票成功 3退票失败 */
    @Excel(name = "状态 1处理中 2退票成功 3退票失败")
    private String status;

    /** 操作人编号 */
    @Excel(name = "操作人编号")
    private Long opemployeeid;

    /** $column.columnComment */
    @Excel(name = "操作人编号")
    private String opemployeename;

    /** $column.columnComment */
    @Excel(name = "操作人编号")
    private Integer requestpayoutstatus;

    /** 请款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "请款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requestpayouttime;

    /** 退改签类型（改签：change，退票：refund） */
    @Excel(name = "退改签类型（改签：change，退票：refund）")
    private String changeType;

    /** 车次号 */
    @Excel(name = "车次号")
    private String trainNumber;

    /** 出发车站 */
    @Excel(name = "出发车站")
    private String departureStationName;

    /** 到达车站 */
    @Excel(name = "到达车站")
    private String arrivalStationName;

   /** 出发时间 */
    @Excel(name = "出发时间")
    private String departureTime;

    /** 到达时间 */
    @Excel(name = "到达时间")
    private String arrivalTime;

    /** 乘车日期 */
    @Excel(name = "乘车日期")
    private String travelDate;

    /** 票单价 */
    @Excel(name = "票单价")
    private BigDecimal ticketPrice;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal sumAmount;

    /** 改签差价 */
    @Excel(name = "改签差价")
    private String differencePrice;

    /** 支付状态 */
    @Excel(name = "支付状态")
    private String paymentOrderStatus;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 描述信息 */
    @Excel(name = "描述信息")
    private String msg;

    /** 是否占座成功 */
    @Excel(name = "是否占座成功")
    private String orderSuccess;

    /** 商户订单号 */
    @Excel(name = "商户订单号")
    private String merchantOrderId;

    /** 请求特征值 */
    @Excel(name = "请求特征值")
    private String reqToken;

    /** 票号 */
    @Excel(name = "票号")
    private String ticketNumber;

    /** 旧票号 */
    @Excel(name = "旧票号")
    private String oldTicketNumber;

    /** 车厢号 */
    @Excel(name = "车厢号")
    private String trainBox;

    /** 座位号 */
    @Excel(name = "座位号")
    private String seatNo;

    /** 坐席类型 */
    @Excel(name = "坐席类型")
    private String seatType;

    /** 退还票款差价记录的使用方资金变动流水号（改签新票款小于原票款 并且 改签成功才有值 否则为空字符串） */
    @Excel(name = "退还票款差价记录的使用方资金变动流水号（改签新票款小于原票款 并且 改签成功才有值 否则为空字符串）")
    private String ticketpricediffchangeserial;

    /** 收取新票票款记录的使用方资金变动流水号（改签新票款大于原票款 并且 改签成功才有值 否则为空字符串） */
    @Excel(name = "收取新票票款记录的使用方资金变动流水号（改签新票款大于原票款 并且 改签成功才有值 否则为空字符串）")
    private String newticketchangeserial;

    /** 退还原票票款记录的使用方资金变动流水号（改签新票款大于原票款并且改签成功才有值 否则为空字符串） */
    @Excel(name = "退还原票票款记录的使用方资金变动流水号（改签新票款大于原票款并且改签成功才有值 否则为空字符串）")
    private String oldticketchangeserial;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 交易流水号
     */
    private String billNo;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String sourceappid;

    /** 预留款 */
    @Excel(name = "预留款")
    private BigDecimal amount;

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getTicketpricediffchangeserial() {
        return ticketpricediffchangeserial;
    }

    public void setTicketpricediffchangeserial(String ticketpricediffchangeserial) {
        this.ticketpricediffchangeserial = ticketpricediffchangeserial;
    }

    public String getNewticketchangeserial() {
        return newticketchangeserial;
    }

    public void setNewticketchangeserial(String newticketchangeserial) {
        this.newticketchangeserial = newticketchangeserial;
    }

    public String getOldticketchangeserial() {
        return oldticketchangeserial;
    }

    public void setOldticketchangeserial(String oldticketchangeserial) {
        this.oldticketchangeserial = oldticketchangeserial;
    }

    public void setRecordid(Long recordid)
    {
        this.recordid = recordid;
    }

    public Long getRecordid() 
    {
        return recordid;
    }
    public void setOrderid(Long orderid) 
    {
        this.orderid = orderid;
    }

    public Long getOrderid() 
    {
        return orderid;
    }
    public void setOrderitemid(Long orderitemid) 
    {
        this.orderitemid = orderitemid;
    }

    public Long getOrderitemid() 
    {
        return orderitemid;
    }
    public void setRefundamount(BigDecimal refundamount) 
    {
        this.refundamount = refundamount;
    }

    public BigDecimal getRefundamount() 
    {
        return refundamount;
    }
    public void setRefundreason(Long refundreason) 
    {
        this.refundreason = refundreason;
    }

    public Long getRefundreason() 
    {
        return refundreason;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMemo(String memo) 
    {
        this.memo = memo;
    }

    public String getMemo() 
    {
        return memo;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setOpemployeeid(Long opemployeeid) 
    {
        this.opemployeeid = opemployeeid;
    }

    public Long getOpemployeeid() 
    {
        return opemployeeid;
    }
    public void setOpemployeename(String opemployeename) 
    {
        this.opemployeename = opemployeename;
    }

    public String getOpemployeename() 
    {
        return opemployeename;
    }
    public void setRequestpayoutstatus(Integer requestpayoutstatus) 
    {
        this.requestpayoutstatus = requestpayoutstatus;
    }

    public Integer getRequestpayoutstatus() 
    {
        return requestpayoutstatus;
    }
    public void setRequestpayouttime(Date requestpayouttime) 
    {
        this.requestpayouttime = requestpayouttime;
    }

    public Date getRequestpayouttime() 
    {
        return requestpayouttime;
    }

    public String getChangeType() {
        return changeType;
    }

    public void setChangeType(String changeType) {
        this.changeType = changeType;
    }

    public String getTrainNumber() {
        return trainNumber;
    }

    public void setTrainNumber(String trainNumber) {
        this.trainNumber = trainNumber;
    }

    public String getDepartureStationName() {
        return departureStationName;
    }

    public void setDepartureStationName(String departureStationName) {
        this.departureStationName = departureStationName;
    }

    public String getArrivalStationName() {
        return arrivalStationName;
    }

    public void setArrivalStationName(String arrivalStationName) {
        this.arrivalStationName = arrivalStationName;
    }

    public String getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(String departureTime) {
        this.departureTime = departureTime;
    }

    public String getArrivalTime() {
        return arrivalTime;
    }

    public void setArrivalTime(String arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public String getTravelDate() {
        return travelDate;
    }

    public void setTravelDate(String travelDate) {
        this.travelDate = travelDate;
    }

    public BigDecimal getTicketPrice() {
        return ticketPrice;
    }

    public void setTicketPrice(BigDecimal ticketPrice) {
        this.ticketPrice = ticketPrice;
    }

    public BigDecimal getSumAmount() {
        return sumAmount;
    }

    public void setSumAmount(BigDecimal sumAmount) {
        this.sumAmount = sumAmount;
    }

    public String getDifferencePrice() {
        return differencePrice;
    }

    public void setDifferencePrice(String differencePrice) {
        this.differencePrice = differencePrice;
    }

    public String getPaymentOrderStatus() {
        return paymentOrderStatus;
    }

    public void setPaymentOrderStatus(String paymentOrderStatus) {
        this.paymentOrderStatus = paymentOrderStatus;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getOrderSuccess() {
        return orderSuccess;
    }

    public void setOrderSuccess(String orderSuccess) {
        this.orderSuccess = orderSuccess;
    }

    public String getMerchantOrderId() {
        return merchantOrderId;
    }

    public void setMerchantOrderId(String merchantOrderId) {
        this.merchantOrderId = merchantOrderId;
    }

    public String getReqToken() {
        return reqToken;
    }

    public void setReqToken(String reqToken) {
        this.reqToken = reqToken;
    }

    public String getTicketNumber() {
        return ticketNumber;
    }

    public void setTicketNumber(String ticketNumber) {
        this.ticketNumber = ticketNumber;
    }

    public String getTrainBox() {
        return trainBox;
    }

    public void setTrainBox(String trainBox) {
        this.trainBox = trainBox;
    }

    public String getSeatNo() {
        return seatNo;
    }

    public void setSeatNo(String seatNo) {
        this.seatNo = seatNo;
    }

    public String getSeatType() {
        return seatType;
    }

    public void setSeatType(String seatType) {
        this.seatType = seatType;
    }

    public String getOldTicketNumber() {
        return oldTicketNumber;
    }

    public void setOldTicketNumber(String oldTicketNumber) {
        this.oldTicketNumber = oldTicketNumber;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getSourceappid() {
        return sourceappid;
    }

    public void setSourceappid(String sourceappid) {
        this.sourceappid = sourceappid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordid", getRecordid())
            .append("orderid", getOrderid())
            .append("orderitemid", getOrderitemid())
            .append("refundamount", getRefundamount())
            .append("refundreason", getRefundreason())
            .append("name", getName())
            .append("memo", getMemo())
            .append("status", getStatus())
            .append("opemployeeid", getOpemployeeid())
            .append("opemployeename", getOpemployeename())
            .append("requestpayoutstatus", getRequestpayoutstatus())
            .append("requestpayouttime", getRequestpayouttime())
            .toString();
    }
}
